/**
 * @file    main.h
 * @brief   STM32F4xx项目主应用程序头文件
 * @author  开发者姓名
 * @version 1.0
 * @date    创建日期
 * 
 * 此头文件包含主应用程序的声明和STM32F4xx HAL库的必要头文件包含
 */

#ifndef __MAIN_H
#define __MAIN_H

/* 头文件包含 ----------------------------------------------------------------*/
#include "stm32f4xx.h"          // STM32F4xx设备头文件
#include "stdint.h"
#include "stm32f4xx_rcc.h"      // RCC（复位和时钟控制）功能函数
#include "stm32f4xx_gpio.h"     // GPIO（通用输入输出）功能函数

/* 可选外设头文件包含（根据需要取消注释） */
#include "stm32f4xx_usart.h"   // USART串口通信功能函数
#include "stm32f4xx_tim.h"     // 定时器功能函数
#include "stm32f4xx_spi.h"
#include "stm32f4xx_i2c.h"     // I2C通信功能函数

/* 导出类型定义 --------------------------------------------------------------*/

/* 导出常量定义 --------------------------------------------------------------*/
/* 导出宏定义 ----------------------------------------------------------------*/

/* 导出函数声明 --------------------------------------------------------------*/
/**
 * @brief  配置系统时钟
 * @param  无
 * @retval 无
 * @note   此函数应在main()函数开始时调用，用于设置系统时钟配置以获得最佳性能
 */
// void SystemClock_Config(void);

/**
 * @brief  递减定时延迟变量
 * @param  无
 * @retval 无
 * @note   此函数在SysTick中断中调用，用于实现毫秒级延迟
 */
void TimingDelay_Decrement(void);

void Delay(__IO uint32_t nTime);

#endif /* __MAIN_H */
